home *** CD-ROM | disk | FTP | other *** search
/ Night Owl 6 / Night Owl's Shareware - PDSI-006 - Night Owl Corp (1990).iso / 015a / vram386.zip / HRAM1.DOC < prev    next >
Text File  |  1990-09-23  |  49KB  |  1,845 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.                                                                           1
  9.  
  10.           HRAM
  11.           Version 1.0
  12.           User's Guide
  13.  
  14.  
  15.  
  16.  
  17.  
  18.  
  19.  
  20.  
  21.  
  22.  
  23.  
  24.  
  25.  
  26.  
  27.  
  28.  
  29.  
  30.  
  31.  
  32.  
  33.  
  34.  
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.  
  71.  
  72.  
  73.  
  74.  
  75.  
  76.           2
  77.  
  78.           Copyright   This HRAM documentation and the software are
  79.           copyrighted with all rights reserved.  Under the copyright laws,
  80.           neither the documentation nor the software may be copied,
  81.           photocopied, reproduced, translated, or reduced to any electronic
  82.           medium or machine-readable form, in whole or in part, without the
  83.           prior written consent of Biologic, except in the manner described
  84.           in this manual.  The unregistered version of HRAM and
  85.           accompanying documentation may be freely copied and distributed.
  86.  
  87.           Copyright (C) Biologic 1990.
  88.  
  89.           All rights reserved.  First edition printed 1990.  Printed in the
  90.           United States.
  91.  
  92.           Software License Notice   Your license agreement with Biologic,
  93.           which is included with the product, specifies the permitted and
  94.           prohibited uses of the product.  Any unauthorized duplication or
  95.           use of HRAM in whole or in part, in print, or in any other
  96.           storage and retrieval system is forbidden.
  97.  
  98.           Licenses and Trademarks   DESQview is a registered trademark of
  99.           Quarterdeck Office Systems, Inc.  MS-DOS and Windows are
  100.           registered trademarks of Microsoft Corporation.  VRAM/386 and
  101.           HRAM are trademarks of Biologic.
  102.  
  103.  
  104.           Biologic
  105.           POB 1267
  106.           Manassas VA 22110
  107.           USA
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.  
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.  
  137.  
  138.  
  139.  
  140.  
  141.  
  142.  
  143.  
  144.                                                                           3
  145.  
  146.           Contents
  147.  
  148.           License Agreement and Disclaimer of Warranty  4
  149.           Introduction  5
  150.           Notes on Memory and Memory Addresses  7
  151.           Testing Your Memory with Chkmem  10
  152.           Condensed Instructions  11
  153.           Installation  13
  154.           hramdev.sys  15
  155.           hram.exe  17
  156.           hram.sys  20
  157.           Notes  22
  158.           Error Messages  23
  159.           Site License  27
  160.           Your Turn  28
  161.  
  162.  
  163.  
  164.  
  165.  
  166.  
  167.  
  168.  
  169.  
  170.  
  171.  
  172.  
  173.  
  174.  
  175.  
  176.  
  177.  
  178.  
  179.  
  180.  
  181.  
  182.  
  183.  
  184.  
  185.  
  186.  
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.  
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.  
  203.  
  204.  
  205.  
  206.  
  207.  
  208.  
  209.  
  210.  
  211.  
  212.           4
  213.  
  214.           License Agreement and Disclaimer of Warranty
  215.  
  216.           License agreement
  217.           Disclaimer of warranty
  218.  
  219.  
  220.           License agreement   The terms of this license agreement apply to
  221.           you and to any subsequent licensee of this HRAM software. 
  222.           Biologic retains the ownership of this copy of HRAM software. 
  223.           This copy is licensed to you for use under the following
  224.           conditions.
  225.  
  226.                You may use the HRAM software on any compatible computer,
  227.                provided the HRAM software is used on only one computer and
  228.                by one user at a time.
  229.  
  230.                You may not provide use of the software in a computer
  231.                service business, network, timesharing, multiple CPU or
  232.                multiple user arrangement to users who are not individually
  233.                licensed by Biologic, except that you may designate any
  234.                employee to use such products on a one employee per license
  235.                basis.
  236.  
  237.                You may not disassemble or decompile the HRAM software.
  238.  
  239.           Disclaimer of warranty   Biologic excludes any and all implied
  240.           warranties, including warranties of merchantability and fitness
  241.           for a particular purpose.  Biologic does not make any warranty of
  242.           representation, either express or implied, with respect to this
  243.           software program, its quality, performance, merchantability, or
  244.           fitness for a particular purpose.  Biologic shall not have any
  245.           liability for special, incidental, or consequential damages
  246.           arising out of or resulting from the use of this program.
  247.  
  248.  
  249.  
  250.  
  251.  
  252.  
  253.  
  254.  
  255.  
  256.  
  257.  
  258.  
  259.  
  260.  
  261.  
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268.  
  269.  
  270.  
  271.  
  272.  
  273.  
  274.  
  275.  
  276.  
  277.  
  278.  
  279.  
  280.                                                                           5
  281.  
  282.           Introduction
  283.  
  284.           Description
  285.           Overview
  286.           VRAM/386 and HRAM
  287.           Highlights
  288.           Requirements
  289.           Contents of the HRAM disk
  290.  
  291.  
  292.           Description   HRAM is a powerful memory management program for
  293.           8088, 8086, 80286, 80386 and 80486 PCs that enhances the
  294.           utilization of high memory (memory between 640K and 1024K).  It
  295.           uses the special mapping capabilities of EMS 4.0 expanded memory
  296.           or Chips & Technologies shadow RAM to fill unused memory
  297.           addresses in your PC's high memory, and create up to 944K of DOS
  298.           memory.  Depending on the hardware configuration of your PC, HRAM
  299.           can create up to 96K of additional low DOS memory, and up to 208K
  300.           of high DOS memory for use by TSRs and device drivers (such as
  301.           network drivers).
  302.  
  303.           Overview   HRAM is a set of programs that consists of: 
  304.  
  305.                hramdev.sys, a device driver that fills unused high memory
  306.                areas with expanded memory or shadow RAM.
  307.  
  308.                hram.exe, a program that loads TSRs into the high DOS memory
  309.                created by hramdev.sys and can, optionally, increase the
  310.                size of conventional memory.  hram.exe also provides a
  311.                status report of high memory and lists the programs that
  312.                have been loaded into it.
  313.  
  314.                hram.sys, a special driver that loads device drivers into
  315.                high memory.
  316.  
  317.           A utility program, Chkmem, is included in the package and
  318.           provides information about the status of memory in your PC.
  319.  
  320.           VRAM/386 and HRAM   The VRAM/386 and HRAM programs are designed
  321.           to be completely compatible with one another.  Although both will
  322.           function alone--VRAM/386 creates EMS 4.0 expanded memory and HRAM
  323.           converts expanded memory into high DOS memory--together they
  324.           provide a complete memory enhancement package for 80386 PCs.
  325.  
  326.  
  327.  
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334.  
  335.  
  336.  
  337.  
  338.  
  339.  
  340.  
  341.  
  342.  
  343.  
  344.  
  345.  
  346.  
  347.  
  348.           6
  349.  
  350.           Highlights
  351.  
  352.                Compatible with all expanded memory boards that fully
  353.                support the EMS 4.0 expanded memory specification.
  354.  
  355.                Compatible with all 80386 memory managers that fully support
  356.                the EMS 4.0 expanded memory specification--including
  357.                VRAM/386.
  358.  
  359.                HRAM, in conjunction with VRAM/386, supports the Microsoft
  360.                VxD specification to ensure that HRAM is compatible with
  361.                Windows 3.0.
  362.  
  363.                Compatible with Quarterdeck DESQview.
  364.  
  365.           Requirements
  366.  
  367.                A PC with a 8088, 8086, 80286, 80386 or 80486
  368.                microprocessor.
  369.  
  370.                IBM Personal Computer Disk Operating System (PC-DOS) or
  371.                Microsoft Disk Operating System (MS-DOS) version 3.0 or
  372.                greater.
  373.  
  374.                Minimum 256K of EMS version 4.0 expanded memory or Chips &
  375.                Technologies shadow RAM.
  376.  
  377.           Contents of the HRAM disk   The following files are included in
  378.           the root directory of the distribution disk.
  379.  
  380.                hramdev.sys
  381.                hram.exe
  382.                hram.sys
  383.                chkmem.exe
  384.                read.me
  385.  
  386.           There may also be a \freeware directory which contains
  387.           unregistered versions of our other software products.
  388.  
  389.  
  390.  
  391.  
  392.  
  393.  
  394.  
  395.  
  396.  
  397.  
  398.  
  399.  
  400.  
  401.  
  402.  
  403.  
  404.  
  405.  
  406.  
  407.  
  408.  
  409.  
  410.  
  411.  
  412.  
  413.  
  414.  
  415.  
  416.                                                                           7
  417.  
  418.           Notes on Memory 
  419.           and Memory Addresses
  420.  
  421.           Conventional Memory
  422.           Expanded Memory
  423.           Extended Memory
  424.           Memory Addresses
  425.  
  426.  
  427.           Conventional Memory   Conventional memory is located between 0K
  428.           and 1024K and is the maximum amount of memory that can be
  429.           addressed by the 8088 microprocessor on which the IBM PC is
  430.           based.1  The designers of the original PC divided conventional
  431.           memory space into a 640K block of memory to be used by MS-DOS
  432.           programs (low DOS memory) and a 384K block of high memory for
  433.           system hardware and ROM.  The term, conventional memory, is
  434.           sometimes used to refer just to memory from 0 to 640K.
  435.  
  436.           Expanded Memory   Expanded memory is "paged" memory that can
  437.           exist in 8088, 80286, and 80386 based PCs.  As the memory
  438.           requirements of programs grew, expanded memory was developed to
  439.           support up to 32M of memory by swapping small blocks or "pages"
  440.           of extra memory into the 1M address space of the 8088 processor
  441.           so that only a few pages are addressable at a time.  Memory pages
  442.           that are not in use are stored as deactivated pages on an
  443.           expanded memory board.
  444.  
  445.           The original expanded memory specification, EMS version 3.2, was
  446.           developed jointly by Lotus, Intel, and Microsoft.  Soon after,
  447.           AST and Ashton-Tate developed a similar, but enhanced,
  448.           specification called EEMS.  These two specifications were
  449.           replaced by EMS version 4.0, which incorporated features of both
  450.           specifications.
  451.  
  452.           Below is a summary of a few important features:
  453.  
  454.                An expanded memory page is 16K in size.
  455.  
  456.                Expanded memory that conforms to the version 3.2
  457.                specification can be mapped only into a 64K region in high
  458.                memory called the page frame.  EMS version 4.0 supports the
  459.                mapping of expanded memory into any location in conventional
  460.                memory.
  461.  
  462.                A software control program, called an expanded memory
  463.                manager, manages the placement of memory pages, and is
  464.                typically loaded by the config.sys file when your PC is
  465.                turned on or restarted.
  466.                               
  467.           ____________________
  468.  
  469.                11K equals 1,024 bytes. 1024K equals 1,048,576 bytes or 1
  470.           megabyte.
  471.  
  472.  
  473.  
  474.  
  475.  
  476.  
  477.  
  478.  
  479.  
  480.  
  481.  
  482.  
  483.  
  484.  
  485.           8
  486.  
  487.  
  488.           Extended Memory   Intel's newer processors, starting with the
  489.           80286, are capable of addressing memory above 1M--extended
  490.           memory.  Unfortunately, this memory is not addressable when these
  491.           processors are in a processor state called real mode (a mode
  492.           designed to maintain compatibility with the 8088) and cannot be
  493.           fully utilized when using a real mode operating system such as
  494.           MS-DOS.  
  495.  
  496.           The problem of accessing extended memory while running MS-DOS has
  497.           spawned several solutions:  
  498.  
  499.                On PCs that support extended memory, a feature of the ROM
  500.                BIOS allows programs to copy data between conventional and
  501.                extended memory.  Although programs cannot execute in
  502.                extended memory, they can use it as storage space.  Programs
  503.                that take advantage of this feature include RAM disks, print
  504.                spoolers, and 80286 expanded memory simulators.  
  505.  
  506.                Protected mode run-time environments which allow an
  507.                application program to execute in protected mode under MS-
  508.                DOS.
  509.  
  510.                80386 memory managers, like VRAM/386, that use the page
  511.                mapping capability of the 80386 processor to convert
  512.                extended memory into expanded memory and provide additional
  513.                conventional memory for use by MS-DOS.  
  514.  
  515.           Memory Addresses   Memory addresses and ranges are typically
  516.           specified using hexadecimal (hex) numbers.  Hex numbers include
  517.           the digits 0-9 and the letters A-F, giving 16 possible values for
  518.           each hex digit. 
  519.  
  520.           Conventional memory can be divided into 64 pages of 16K each.
  521.           These pages can be referred to as page 0, page 1, page 2, and so
  522.           on, or, as is the case in this manual, by their hexadecimal
  523.           segment addresses.  Using this notation, page 0 is at segment 0,
  524.           page 1 is at segment 0400, page 2 is at segment 0800, etc.  The
  525.           following table lists some page numbers and their corresponding
  526.           segment address and linear address:
  527.  
  528.                             Segment      Linear
  529.                Page         Address     Address
  530.                ________________________________
  531.  
  532.                   0         0000             0K
  533.                   1         0400            16K
  534.                   2         0800            32K
  535.                   3         0c00            48K
  536.                   4         1000            64K
  537.                   5         1400            80K
  538.                   8         2000           128K
  539.                  12         3000           196K
  540.  
  541.  
  542.  
  543.  
  544.  
  545.  
  546.  
  547.  
  548.  
  549.  
  550.  
  551.  
  552.  
  553.  
  554.                                                                           9
  555.  
  556.                  40         a000           640K
  557.                  44         b000           704K
  558.                  63         fc00         1,008K
  559.  
  560.                   
  561.           The first 40 pages (640K) of conventional memory are used by MS-
  562.           DOS and the other 24 pages are reserved for system hardware and
  563.           ROM.  The exact usage of the upper 384K of conventional memory
  564.           depends on the hardware configuration of your machine; typically,
  565.           several blocks of this area are not used and are simply empty
  566.           space.
  567.  
  568.           The table below lists the memory map of a typical PC:
  569.  
  570.  
  571.              Address
  572.              Range        Description                
  573.              ________________________________________
  574.  
  575.              0000-a000    low DOS memory (640K)
  576.              a000-c000    VGA display adapter (128K)
  577.              c000-c800    hard disk controller (32K)
  578.              c800-d000    unused address space (32K)
  579.              d000-e000    expanded memory page frame (64K)    
  580.              e000-f000    unused address space (64K)
  581.              f000-        ROM
  582.  
  583.  
  584.  
  585.  
  586.  
  587.  
  588.  
  589.  
  590.  
  591.  
  592.  
  593.  
  594.  
  595.  
  596.  
  597.  
  598.  
  599.  
  600.  
  601.  
  602.  
  603.  
  604.  
  605.  
  606.  
  607.  
  608.  
  609.  
  610.  
  611.  
  612.  
  613.  
  614.  
  615.  
  616.  
  617.  
  618.  
  619.  
  620.  
  621.  
  622.  
  623.           10
  624.  
  625.           Testing Your Memory with Chkmem
  626.  
  627.           Put the distribution disk in drive A and enter the command
  628.           [a:chkmem] to display the amount of expanded memory in your
  629.           system and the amount of memory that is mappable above 640K. 
  630.           Example output is shown below:
  631.  
  632.  
  633.           Biologic Chkmem, version 1.01
  634.           copyright (c) Biologic 1990.  all rights reserved.
  635.  
  636.             655360 bytes conventional memory
  637.              65536 bytes extended memory
  638.                  0 bytes xms memory
  639.            3031040 bytes expanded memory
  640.             163840 bytes mappable memory above 640k
  641.  
  642.  
  643.                If you have any "mappable memory above 640K", then HRAM can
  644.                turn this memory into high DOS memory.
  645.  
  646.                If Chkmem displays 0 bytes of mappable memory above 640K,
  647.                you cannot use HRAM because you do not have expanded memory
  648.                in your PC (or it is not active) and you do not have shadow
  649.                RAM.  
  650.  
  651.                If you have expanded memory and you have only 65,536 bytes
  652.                (64K) of mappable memory above 640K, your expanded memory is
  653.                not fully compatible with the EMS version 4.0 specification
  654.                since it can only be mapped to the 64K page frame in high
  655.                memory.  The lack of extra mappable memory limits HRAM's
  656.                effectiveness.  You can force HRAM to use the page frame
  657.                (with the /f option), but this prevents other programs from
  658.                utilizing expanded memory.2
  659.  
  660.           The command [chkmem /e] will display additional information about
  661.           the expanded memory in your PC, including a list of the segment
  662.           addresses into which expanded memory can be mapped.
  663.  
  664.  
  665.  
  666.  
  667.  
  668.  
  669.  
  670.  
  671.  
  672.                               
  673.           ____________________
  674.  
  675.                2If you are using VRAM/386, you must use the VRAM/386 /h
  676.           option to map high memory outside the page frame.  See the
  677.           VRAM/386 User's Guide for more information.
  678.  
  679.  
  680.  
  681.  
  682.  
  683.  
  684.  
  685.  
  686.  
  687.  
  688.  
  689.  
  690.  
  691.  
  692.                                                                          11
  693.  
  694.           Condensed Instructions
  695.  
  696.           The following instructions briefly describe the installation and
  697.           use of HRAM.  If you are a knowledgeable computer user, you
  698.           should be able to get HRAM working by following these steps. 
  699.           More detailed information can be found in the sections,
  700.           "Installation", "hramdev.sys", "hram.exe", and "hram.sys".
  701.  
  702.           1.   Copy the files, hramdev.sys and hram.sys, to the root
  703.                directory of drive C.  Copy the files, hram.exe and
  704.                chkmem.exe, to your directory for utility programs.
  705.  
  706.           2.   Add a line to your config.sys file that loads hramdev.sys as
  707.                a device driver and restart your PC:
  708.  
  709.                device=hramdev.sys
  710.  
  711.                The location of this line in your config.sys file is
  712.                important.  It should be located immediately after the
  713.                device driver that manages your expanded memory.  If you are
  714.                installing HRAM with VRAM/386, this line should be placed
  715.                immediately after the line that loads the vram386.sys
  716.                program.
  717.  
  718.           3.   Enter the command [hram /m] to list the memory region(s)
  719.                into which TSRs and device drivers can be loaded.  This
  720.                command can also be used at any time to list the programs
  721.                that have been loaded into high memory.  The command [hram
  722.                /a] will list the raw memory allocations in high memory.
  723.  
  724.           4.   If you are using a monochrome or a CGA display, you can use
  725.                the hram program to convert up to 96K of your expanded
  726.                memory into low DOS memory.  Enter the command:
  727.  
  728.                hram/l
  729.  
  730.           5.   To load a TSR into a high memory region, use the command:
  731.  
  732.                hram [program]
  733.  
  734.                where [program] is the name of the TSR your want to load. 
  735.                You may specify a drive and/or path before the program name. 
  736.                If you do not specify a path, HRAM will search the Path
  737.                string.
  738.  
  739.           6.   To load a device driver into a high memory region, insert
  740.                the following line into your config.sys file:
  741.  
  742.                device=hram.sys [driver]
  743.  
  744.                where [driver] is the name of the device driver you want to
  745.                load.  You must include a path as part of the driver name.
  746.  
  747.  
  748.  
  749.  
  750.  
  751.  
  752.  
  753.  
  754.  
  755.  
  756.  
  757.  
  758.  
  759.  
  760.           12
  761.  
  762.  
  763.  
  764.  
  765.  
  766.  
  767.  
  768.  
  769.  
  770.  
  771.  
  772.  
  773.  
  774.  
  775.  
  776.  
  777.  
  778.  
  779.  
  780.  
  781.  
  782.  
  783.  
  784.  
  785.  
  786.  
  787.  
  788.  
  789.  
  790.  
  791.  
  792.  
  793.  
  794.  
  795.  
  796.  
  797.  
  798.  
  799.  
  800.  
  801.  
  802.  
  803.  
  804.  
  805.  
  806.  
  807.  
  808.  
  809.  
  810.  
  811.  
  812.  
  813.  
  814.  
  815.  
  816.  
  817.  
  818.  
  819.  
  820.  
  821.  
  822.  
  823.  
  824.  
  825.  
  826.  
  827.  
  828.                                                                          13
  829.  
  830.           Installation
  831.  
  832.           Preparing a boot disk
  833.           Copying files
  834.           hramdev.sys
  835.           read.me
  836.  
  837.  
  838.           Preparing a boot disk   While installing HRAM, and determining
  839.           your optimum configuration, there is a chance a program that has
  840.           been loaded into high memory will not function properly and will
  841.           "lock up" your PC during the boot process.  For this reason, we
  842.           recommend that you prepare a bootable floppy disk before
  843.           installing HRAM, so that you can boot from drive A if necessary.
  844.  
  845.           To prepare a disk, format it with the /s option, so that it
  846.           contains a copy of the MS-DOS operating system: [format a: /s]. 
  847.           Also, be sure to copy to the disk any required device drivers,
  848.           such as a driver needed to control your hard disk, and create a
  849.           config.sys file that loads the drivers.  Verify that the disk
  850.           boots properly before experimenting with HRAM.
  851.  
  852.           Copying files   The files, hramdev.sys and hram.sys, should be
  853.           copied to the root directory of drive C.  The files, hram.exe and
  854.           chkmem.exe, should be copied to the directory on your hard disk
  855.           you use for utility programs.  You should have a command in your
  856.           autoexec.bat file which includes this directory in your Path so
  857.           that your utility programs, including HRAM, can be executed from
  858.           any directory on your hard drive.3  The following installation
  859.           procedure assumes you have a directory called \util in the root
  860.           directory of drive C.
  861.  
  862.           1.   Insert the distribution disk in drive A.
  863.  
  864.           2.   Type [copy a:*.sys c:\] (don't type the brackets).
  865.  
  866.           3.   Type [copy a:*.exe c:\util].
  867.  
  868.           hramdev.sys   Add a line to your config.sys file that loads
  869.           hramdev.sys as a device driver and restart your PC:
  870.  
  871.           device=hramdev.sys
  872.  
  873.           The location of this line in your config.sys file is important. 
  874.           It should be located immediately after the device driver that
  875.           manages your expanded memory.  Drivers that manage expanded
  876.           memory typically have "EMM" in their name.  If you are installing
  877.           HRAM with VRAM/386, this line should be placed immediately after
  878.           the line that loads the vram386.sys program.
  879.                               
  880.           ____________________
  881.  
  882.                3Read about the Path command in your DOS manual.
  883.  
  884.  
  885.  
  886.  
  887.  
  888.  
  889.  
  890.  
  891.  
  892.  
  893.  
  894.  
  895.  
  896.  
  897.           14
  898.  
  899.  
  900.           If the installation of hramdev.sys is successful, it reports:
  901.  
  902.           hram: high dos memory created
  903.  
  904.           during the boot process.  Use the command [chkmem] to display the
  905.           amount of high DOS memory in your PC.
  906.  
  907.           After hramdev.sys has been successfully installed, you can use
  908.           hram.exe and hram.sys to install TSRs and device drivers into
  909.           high DOS memory.  hram.sys loads drivers into high memory with an
  910.           appropriate [device=] line in your config.sys file.  hram.exe
  911.           loads TSRs into high memory, either from the DOS prompt or from a
  912.           line in your autoexec.bat file.  hram.exe also displays a status
  913.           report of high memory usage.  Read the sections "hram.sys" and
  914.           "hram.exe" for more detailed information.
  915.  
  916.           If hramdev.sys reports an error, refer to the section "Error
  917.           Messages".
  918.  
  919.           read.me   Corrections to this user's guide and information about
  920.           program enhancements are in the read.me file on the distribution
  921.           disk.  You can view this file by putting the disk in drive A and
  922.           entering: [type a:read.me].
  923.  
  924.  
  925.  
  926.  
  927.  
  928.  
  929.  
  930.  
  931.  
  932.  
  933.  
  934.  
  935.  
  936.  
  937.  
  938.  
  939.  
  940.  
  941.  
  942.  
  943.  
  944.  
  945.  
  946.  
  947.  
  948.  
  949.  
  950.  
  951.  
  952.  
  953.  
  954.  
  955.  
  956.  
  957.  
  958.  
  959.  
  960.  
  961.  
  962.  
  963.  
  964.  
  965.                                                                          15
  966.  
  967.           hramdev.sys
  968.  
  969.           Command reference
  970.  
  971.  
  972.           hramdev.sys creates high DOS memory into which device drivers and
  973.           TSRs can be loaded.  hramdev.sys works in conjunction with your
  974.           expanded memory as follows:
  975.  
  976.                When your expanded memory manager is loaded, it searches for
  977.                regions into which expanded memory pages can be mapped. 
  978.                Most managers automatically include conventional memory from
  979.                0 to 640K and all areas within high memory that are not in
  980.                use by hardware devices or ROM.  The 64K page frame is also
  981.                allocated from the high memory area.
  982.  
  983.                hramdev.sys searches for mappable high memory, excluding the
  984.                page frame, and maps expanded memory into those areas.4  It
  985.                then builds control structures so DOS can use the additional
  986.                memory.
  987.  
  988.           It is important to remember that the utility of HRAM is dependent
  989.           on the capability of your expanded memory hardware.  hramdev.sys
  990.           can only create high DOS memory in areas your expanded memory can
  991.           map.  Some EMS version 4.0 boards do not fully implement the
  992.           version 4.0 specification and cannot map expanded memory to
  993.           segments outside the page frame.
  994.  
  995.           Command reference   The format of the hramdev.sys command is
  996.  
  997.           device=d:\path\hramdev.sys [options]
  998.  
  999.           [options]
  1000.                specifies the optional hramdev.sys parameters described in
  1001.                the following section.
  1002.  
  1003.           The following options can appear in the hramdev.sys command.  
  1004.  
  1005.           /e
  1006.                Use expanded memory only.  hramdev.sys will not use Chips & 
  1007.                Technologies shadow RAM to create high DOS memory.
  1008.  
  1009.           /f
  1010.                Use the expanded memory page frame for high DOS memory.  The
  1011.                page frame is a 64K buffer in the high memory area into
  1012.                which expanded memory pages are mapped.  Although EMS
  1013.                version 4.0 supports mapping of expanded memory to areas
  1014.                outside the page frame, most software programs, at a
  1015.                               
  1016.           ____________________
  1017.  
  1018.                4the /f option causes hramdev.sys to include the page frame
  1019.           in high DOS memory.
  1020.  
  1021.  
  1022.  
  1023.  
  1024.  
  1025.  
  1026.  
  1027.  
  1028.  
  1029.  
  1030.  
  1031.  
  1032.  
  1033.  
  1034.           16
  1035.  
  1036.                minimum, require the page frame to be available.  This
  1037.                option will create an additional 64K of high memory, but
  1038.                will, in most cases, prevent other programs from utilizing
  1039.                expanded memory.
  1040.  
  1041.           /i<addressrange>
  1042.                Include address range.  The memory range specified by
  1043.                <addressrange> will be converted to high DOS memory.  It
  1044.                must be above a000 (hex).  <addressrange> is specified with
  1045.                hexadecimal segment addresses which must be multiples of 16K
  1046.                (0000, 0400, 0800, 0c00, 1000, 1400, ...).  For example, to
  1047.                include the range c000 to c800 use the parameter [/ic000-
  1048.                c800].  Multiple include ranges should be separated by
  1049.                commas.  For example, [/ic000-c800,e000-f000].
  1050.  
  1051.                If /i is used, only the memory areas with the include
  1052.                range(s) will be available as high DOS memory.
  1053.  
  1054.                This option is useful only if there are mappable areas in
  1055.                high memory that should not be under the control of
  1056.                hramdev.sys.  Normally, this option should not be used;
  1057.                hramdev.sys will automatically convert all mappable high
  1058.                memory (excluding the page frame) into high DOS memory.  
  1059.  
  1060.           /n
  1061.                No pause on error.  If hramdev.sys reports an error, it
  1062.                waits for you to press a key.  This option causes
  1063.                hramdev.sys continue without waiting for a key.
  1064.  
  1065.           /s
  1066.                Use shadow RAM only.  hramdev.sys will not use expanded
  1067.                memory to create high DOS memory.
  1068.  
  1069.           /x<addressrange>
  1070.                Exclude address range.  This option prevents hramdev.sys
  1071.                from mapping a particular range of addresses. 
  1072.                <addressrange> is specified with hexadecimal segment
  1073.                addresses which must be multiples of 16K.  For example, to
  1074.                exclude the range c000 to c800 use the parameter [/xc000-
  1075.                c800].  Multiple exclude ranges should be separated by
  1076.                commas.  For example, [/xc000-c800,e000-f000].
  1077.  
  1078.  
  1079.  
  1080.  
  1081.  
  1082.  
  1083.  
  1084.  
  1085.  
  1086.  
  1087.  
  1088.  
  1089.  
  1090.  
  1091.  
  1092.  
  1093.  
  1094.  
  1095.  
  1096.  
  1097.  
  1098.  
  1099.  
  1100.  
  1101.  
  1102.                                                                          17
  1103.  
  1104.           hram.exe
  1105.  
  1106.           Displaying regions and programs in high memory
  1107.           Loading TSRs into high memory
  1108.           Increasing low DOS memory size
  1109.           Command reference
  1110.  
  1111.  
  1112.           Displaying regions and programs in high memory   The command,
  1113.           [hram /m], will display a status report of the high memory
  1114.           created by hramdev.sys.  As illustrated in the following example,
  1115.           the report lists the location and size of each high memory region
  1116.           as well as the TSRs and drivers that have been loaded:
  1117.  
  1118.  
  1119.           Biologic HRAM, version 1.0
  1120.           copyright (c) Biologic 1990.  all rights reserved.
  1121.  
  1122.                          para-
  1123.           region address graphs    bytes
  1124.           ------ ------- ------ --------
  1125.           0      c800       7ff    32752
  1126.           1      e000      1000    65536
  1127.  
  1128.                          para-
  1129.           region address graphs    bytes program
  1130.           ------ ------- ------ -------- -------
  1131.           0      c800       12e     4832 (block device)
  1132.           0      c92e       1ea     7840 (char dev) mouse
  1133.           0      cb18        30      768 (block device)
  1134.           0      cb5a       4a5    19024 (avail)
  1135.           0                  12      288 other blocks
  1136.           1      e000        24      576 scrnsave.com
  1137.           1      e024        2d      720 fastkey.com
  1138.           1      e051        5e     1504 unblink.com
  1139.           1      e0af       f51    62736 (avail)
  1140.  
  1141.  
  1142.           Note that each region is identified by a number, starting with 0,
  1143.           and that the report indicates into which region each TSR or
  1144.           device driver has been loaded.  The amount of available space
  1145.           remaining in each region is listed also.
  1146.  
  1147.           The command, [hram /a], will list the raw memory allocations in
  1148.           high memory.
  1149.  
  1150.  
  1151.  
  1152.  
  1153.  
  1154.  
  1155.  
  1156.  
  1157.  
  1158.  
  1159.  
  1160.  
  1161.  
  1162.  
  1163.  
  1164.  
  1165.  
  1166.  
  1167.  
  1168.  
  1169.  
  1170.           18
  1171.  
  1172.           Loading TSRs into high memory   hram.exe loads TSRs into the high
  1173.           DOS memory created by hramdev.sys.  To load a TSR, specify the
  1174.           command you normally use to run the TSR as a parameter to the
  1175.           hram.exe program.  To illustrate, suppose you wish to load a TSR
  1176.           program, called Notepad, into high DOS memory.  The command you
  1177.           normally use to load it into low memory is:
  1178.  
  1179.           notepad /i
  1180.  
  1181.           The command to load it into high memory would be:
  1182.  
  1183.           hram notepad /i
  1184.  
  1185.           The HRAM command can be executed at the DOS prompt or it can be
  1186.           used within a batch file (including your autoexec.bat file).  The
  1187.           file specified on the HRAM command line must be an "exe" or "com"
  1188.           file.
  1189.  
  1190.           Command reference   The format of the HRAM command is
  1191.  
  1192.           hram [options] [program] [program options]
  1193.  
  1194.           [options]
  1195.                specifies the optional HRAM parameters described in the
  1196.                following section.
  1197.  
  1198.           [program]
  1199.                specifies the program to be loaded into high DOS memory.
  1200.  
  1201.           [program options]
  1202.                specifies the options for the program.
  1203.  
  1204.           The following options can appear in the HRAM command. 
  1205.  
  1206.           /?
  1207.                Display help.
  1208.  
  1209.           /a
  1210.                List raw memory allocations in high DOS memory.  Use this
  1211.                option to display the memory control blocks that have been
  1212.                allocated from high memory.
  1213.  
  1214.           /i
  1215.                Display registration information.  This option causes
  1216.                hram.exe to list information about registering your copy of
  1217.                HRAM.  If you have not purchased a registered copy of HRAM,
  1218.                and you continue to use it after a reasonable testing
  1219.                period, you are required to register your copy.
  1220.  
  1221.           /l
  1222.                Add pages to low DOS memory.  If hramdev.sys has mapped a
  1223.                region in high memory starting at a000 (hex) and you have
  1224.  
  1225.  
  1226.  
  1227.  
  1228.  
  1229.  
  1230.  
  1231.  
  1232.  
  1233.  
  1234.  
  1235.  
  1236.  
  1237.  
  1238.                                                                          19
  1239.  
  1240.                exactly 640K of low DOS memory, you can use this option to
  1241.                add this region to the DOS memory pool--giving you up to
  1242.                736K of low memory.5  This region is available only if you
  1243.                have a monochrome or CGA display, and your expanded memory
  1244.                is capable of mapping pages to the area starting at a000.
  1245.  
  1246.                You must execute [hram /l] before loading any programs into
  1247.                memory region 0.
  1248.  
  1249.           /m
  1250.                List regions and programs in high DOS memory.  [hram /m]
  1251.                lists a status report of high memory, including the size and
  1252.                location of each memory region and program or device driver. 
  1253.                Read the previous section, "Displaying regions and programs
  1254.                in high memory", for more information.
  1255.  
  1256.           /n
  1257.                No pause on error.  If hram.exe reports an error, it waits
  1258.                for you to press a key.  This option causes hramdev.sys
  1259.                continue without waiting for a key.
  1260.  
  1261.           /r<region>
  1262.                Load into memory region number <region>.  This option causes
  1263.                HRAM to load the program into the specified memory region. 
  1264.                For example, the following command would load the program,
  1265.                notepad.exe, into memory region 1: [hram /r1 notepad]. 
  1266.                Without this option, HRAM loads the program into the first
  1267.                memory region in which the program fits.
  1268.  
  1269.                This option gives the user greater control over the
  1270.                placement of programs and may be useful in obtaining the
  1271.                optimum use of high memory.
  1272.  
  1273.           /u
  1274.                Remove pages from low DOS memory.  This option removes the
  1275.                pages from low DOS memory that have been added by the
  1276.                command [hram /l].
  1277.           hram.sys
  1278.  
  1279.           Command reference
  1280.  
  1281.  
  1282.           hram.sys loads device drivers into the high DOS memory created by
  1283.           hramdev.sys.  To load a device driver, modify the line in your
  1284.           config.sys file so that it is a parameter to the hram.sys
  1285.           program.  To illustrate, suppose you wish to load the device
  1286.           driver ansi.sys into high DOS memory.  The line to load it into
  1287.                               
  1288.           ____________________
  1289.  
  1290.                5To list high memory regions, use the command [hram /m].  If
  1291.           region 0 is at address a000, [hram /l] will add this region to
  1292.           low DOS memory.
  1293.  
  1294.  
  1295.  
  1296.  
  1297.  
  1298.  
  1299.  
  1300.  
  1301.  
  1302.  
  1303.  
  1304.  
  1305.  
  1306.  
  1307.           20
  1308.  
  1309.           low memory is:6
  1310.  
  1311.           device=\dos\ansi.sys
  1312.  
  1313.           The command to load it into high memory is:
  1314.  
  1315.           device=hram.sys \dos\ansi.sys
  1316.  
  1317.           Command reference   The format of the hram.sys command is
  1318.  
  1319.           device=hram.sys [options] [driver] [driver options]
  1320.  
  1321.           where
  1322.  
  1323.           [options]
  1324.                specifies the optional hram.sys parameters described in the
  1325.                following section.
  1326.  
  1327.           [driver]
  1328.                specifies the device driver to be loaded into high DOS
  1329.                memory.
  1330.  
  1331.           [driver options]
  1332.                specifies the options for the device driver.
  1333.  
  1334.           The following options can appear in the hram.sys command.  
  1335.  
  1336.           /n
  1337.                No pause on error.  If hram.sys reports an error, it waits
  1338.                for you to press a key.  This option causes hram.sys
  1339.                continue without waiting for a key.
  1340.  
  1341.           /r<region>
  1342.                Load into memory region number <region>.  This option causes
  1343.                hram.sys to load the device driver into the specified memory
  1344.                region.  For example, the following command would load the
  1345.                device driver, ansi.sys, into memory region 1:
  1346.                [device=hram.sys /r1 ansi.sys].  Without this option,
  1347.                hram.sys loads the driver into the first memory region in
  1348.                which the driver fits.
  1349.  
  1350.                This option gives the user greater control over the
  1351.                placement of programs and may be useful in obtaining the
  1352.                optimum use of high memory.
  1353.  
  1354.  
  1355.  
  1356.  
  1357.                               
  1358.           ____________________
  1359.  
  1360.                6This example assumes that "ansi.sys" is located in the
  1361.           directory \dos.
  1362.  
  1363.  
  1364.  
  1365.  
  1366.  
  1367.  
  1368.  
  1369.  
  1370.  
  1371.  
  1372.  
  1373.  
  1374.  
  1375.  
  1376.                                                                          21
  1377.  
  1378.           Notes
  1379.  
  1380.                The utility of HRAM depends entirely on the mapping
  1381.                capabiliy of your expanded memory--if your expanded memory
  1382.                cannot map pages to areas outside the page frame, HRAM's
  1383.                effectiveness will be severely limited.  Consult your
  1384.                expanded memory user's manual or, if necessary, contact the
  1385.                manufacturer, for information on how to configure your
  1386.                expanded memory optimally.
  1387.  
  1388.                Some TSRs and device drivers do not function properly when
  1389.                loaded into high memory.  If you encounter a problem after
  1390.                loading several device drivers and TSRs into high memory, 
  1391.                determine which program is not working by loading and
  1392.                testing each program individually.
  1393.  
  1394.                HRAM will be able to use high memory more efficiently if
  1395.                your memory is divided into the fewest memory regions--a few
  1396.                large regions is better than a lot of small ones.  You may
  1397.                be able to improve the configuration of your high memory by
  1398.                changing the location of certain hardware devices.  For
  1399.                example, most expanded memory boards allow you to move the
  1400.                page frame to any free 64K memory area and most network
  1401.                adapters allow you to change the location of their ROM.
  1402.  
  1403.  
  1404.  
  1405.  
  1406.  
  1407.  
  1408.  
  1409.  
  1410.  
  1411.  
  1412.  
  1413.  
  1414.  
  1415.  
  1416.  
  1417.  
  1418.  
  1419.  
  1420.  
  1421.  
  1422.  
  1423.  
  1424.  
  1425.  
  1426.  
  1427.  
  1428.  
  1429.  
  1430.  
  1431.  
  1432.  
  1433.  
  1434.  
  1435.  
  1436.  
  1437.  
  1438.  
  1439.  
  1440.  
  1441.  
  1442.  
  1443.  
  1444.           22
  1445.  
  1446.           Error Messages
  1447.  
  1448.           hramdev.sys
  1449.           hram.exe
  1450.           hram.sys
  1451.  
  1452.  
  1453.           hramdev.sys
  1454.  
  1455.           emm error
  1456.                An error was returned by the expanded memory manager.
  1457.  
  1458.           emm is not ems 4.0
  1459.                HRAM is not compatible with your expanded memory.  HRAM
  1460.                requires expanded memory that is compatible with the EMS 4.0
  1461.                memory specification.
  1462.  
  1463.           expanded memory manager not installed
  1464.                Your expanded memory is not active because your expanded
  1465.                memory manager is not installed.  Expanded memory managers
  1466.                typically have "EMM" in their name and are loaded with a
  1467.                [device=] command in your config.sys.  Make sure the line
  1468.                that loads hramdev.sys is after the line that loads your
  1469.                expanded memory manager.
  1470.  
  1471.           invalid parameter(s)
  1472.                One or more of the parameters on the hramdev.sys command
  1473.                line is not valid.
  1474.  
  1475.           mappable physical address array too large
  1476.                hramdev.sys is not compatible with your expanded memory
  1477.                manager.
  1478.  
  1479.           no mappable pages in include range
  1480.                Your expanded memory cannot be mapped to the memory range
  1481.                specified by the /i (include range) option.  hramdev.sys can
  1482.                only use memory that can be mapped by your expanded memory. 
  1483.                To list the memory segments that are mappable: remove the
  1484.                line in your config.sys file that installs hramdev.sys,
  1485.                restart your PC, use the command [chkmem /e].
  1486.  
  1487.           no pages available in high memory area
  1488.                hramdev.sys is unable to create high DOS memory because your
  1489.                expanded memory can be mapped to the page frame only.  This
  1490.                may occur because you have no unused areas in high memory,
  1491.                or, more likely, because your expanded memory does not fully
  1492.                support the EMS 4.0 specification.  If you are using
  1493.                VRAM/386, you must use the VRAM/386 /h option to map high
  1494.                memory outside the page frame.  See the VRAM/386 User's
  1495.                Guide for more information.
  1496.  
  1497.           no shadow ram
  1498.  
  1499.  
  1500.  
  1501.  
  1502.  
  1503.  
  1504.  
  1505.  
  1506.  
  1507.  
  1508.  
  1509.  
  1510.  
  1511.  
  1512.                                                                          23
  1513.  
  1514.                Your PC does not have Chips & Technologies shadow RAM or it
  1515.                is not compatible with HRAM.
  1516.  
  1517.           not enough expanded memory
  1518.                you do not have enough expanded memory to map all the
  1519.                mappable areas in high memory.  
  1520.  
  1521.           hram.exe
  1522.  
  1523.           conventional memory size not 640K
  1524.                [hram.exe /l] will cause this error if conventional memory
  1525.                size (low DOS memory) is not exactly 640K (655,360 bytes). 
  1526.                Use the Chkmem command to display the conventional memory
  1527.                size of your system.  Some PCs, including IBM PS/2s, have a
  1528.                data area at the end of conventional memory, and do not have
  1529.                exactly 640K.
  1530.  
  1531.           environment too big
  1532.                hram.exe was not able to load the specified program because
  1533.                there was not enough room in high memory for the program's
  1534.                environment.
  1535.  
  1536.           hramdev.sys not installed
  1537.                The device driver, hramdev.sys, must be successfully loaded
  1538.                by your config.sys file in order for hram.exe to function
  1539.                properly.  If, during the boot process, hramdev.sys does not
  1540.                display the message [hramdev: high dos memory created], then
  1541.                hramdev.sys was not loaded successfully.
  1542.  
  1543.           invalid parameter(s)
  1544.                One or more of the parameters on the hram.exe command line
  1545.                is not valid.
  1546.  
  1547.           missing parameters
  1548.                At least one parameter must be specified on the hram.exe
  1549.                command line: either the name of a program to load or an
  1550.                option.
  1551.  
  1552.           no memory available at a000h
  1553.                Memory region 0 does not begin at segment address a000
  1554.                (hex).  hram.exe can add pages to low DOS memory only if
  1555.                region 0 is at a000.  [hram /m] will list the location and
  1556.                size of the regions in high memory.
  1557.  
  1558.           no memory has been added to low dos memory
  1559.                [hram /u] cannot remove pages from low memory because no
  1560.                pages have been added with [hram /l].
  1561.  
  1562.           not enough memory to load program
  1563.                The memory requirements for loading and initializing the
  1564.                specified program exceed the size of the largest available
  1565.                memory block in high memory.  Often, a program's memory
  1566.  
  1567.  
  1568.  
  1569.  
  1570.  
  1571.  
  1572.  
  1573.  
  1574.  
  1575.  
  1576.  
  1577.  
  1578.  
  1579.  
  1580.           24
  1581.  
  1582.                requirements during initialization are much greater than the
  1583.                program file size or size of the resident code.
  1584.  
  1585.           program has been loaded at a000h
  1586.                A program or device driver has already been loaded into
  1587.                region 0 and, therefore, region 0 cannot be added to low DOS
  1588.                memory.  To prevent device drivers from being loaded into
  1589.                region 0 during the boot process, use the hramdev.sys /r
  1590.                option.
  1591.  
  1592.           program not executable
  1593.                The specified program is not an "exe" or "com" file. 
  1594.                hram.exe can load executable files only.  If you normally
  1595.                use a batch file to load the specified program, put the
  1596.                hram.exe command in the batch file.
  1597.  
  1598.           program not found
  1599.                The specified program was not found.  Make sure the filename
  1600.                is correct and that it exists in the current directory or in
  1601.                a directory in your Path.  hram.exe will not find the
  1602.                specified file if it is not an "exe" or "com" file.
  1603.  
  1604.           program not loaded
  1605.                The specified program was not loaded.
  1606.  
  1607.           region not found
  1608.                The region specified by the /r option does not exist.  Use
  1609.                the command [hram /m] to display the location and size of
  1610.                all memory regions.
  1611.  
  1612.           there is no high dos memory
  1613.                hram.exe cannot load a program or display a memory report
  1614.                because there are no high DOS memory regions.
  1615.  
  1616.           hram.sys
  1617.  
  1618.           cannot get file size
  1619.                hram.sys was not able to load the specified device driver
  1620.                because it was unable to obtain the file size.
  1621.  
  1622.           device driver error while initializing
  1623.                hram.sys was not able to load the specified device driver
  1624.                because the driver returned an initialization error.  This
  1625.                message is displayed whenever the device driver itself
  1626.                reports an error.  Refer to the device driver's error
  1627.                message for help in correcting the problem.  This error may
  1628.                occur if there is not enough high memory space.
  1629.  
  1630.           device driver not found
  1631.                The specified device driver was not found.  Make sure the
  1632.                path and filename are correct.  If you do not specify a path
  1633.                on the hram.sys command line, the device driver must be
  1634.  
  1635.  
  1636.  
  1637.  
  1638.  
  1639.  
  1640.  
  1641.  
  1642.  
  1643.  
  1644.  
  1645.  
  1646.  
  1647.  
  1648.                                                                          25
  1649.  
  1650.                located in the root directory of the boot drive.
  1651.  
  1652.           hramdev.sys not installed
  1653.                The device driver, hramdev.sys, must be successfully loaded
  1654.                by your config.sys file in order for harm.sys to function
  1655.                properly.  The [device=] line that loads hram.sys must be
  1656.                located after the line that loads hramdev.sys.  If, during
  1657.                the boot process, hramdev.sys does not display the message
  1658.                [hramdev: high dos memory created], then hramdev.sys was not
  1659.                loaded successfully.
  1660.  
  1661.           invalid parameter(s)
  1662.                One or more of the parameters on the hram.sys command line
  1663.                is not valid.
  1664.  
  1665.           memory region too small
  1666.                The memory requirements for loading and initializing the
  1667.                specified device driver exceed the size of the specified
  1668.                memory region.  Often, a program's memory requirements
  1669.                during initialization are much greater than the program file
  1670.                size or size of the resident code.
  1671.  
  1672.           missing device driver name
  1673.                You must specify a device driver filename on the hram.sys
  1674.                command line.
  1675.  
  1676.           not enough memory to load device driver
  1677.                The memory requirements for loading and initializing the
  1678.                specified device driver exceed the size of the largest
  1679.                available memory block in high memory.  Often, a program's
  1680.                memory requirements during initialization are much greater
  1681.                than the program file size or size of the resident code.
  1682.  
  1683.           region not found
  1684.                The region specified by the /r option does not exist.
  1685.  
  1686.  
  1687.  
  1688.  
  1689.  
  1690.  
  1691.  
  1692.  
  1693.  
  1694.  
  1695.  
  1696.  
  1697.  
  1698.  
  1699.  
  1700.  
  1701.  
  1702.  
  1703.  
  1704.  
  1705.  
  1706.  
  1707.  
  1708.  
  1709.  
  1710.  
  1711.  
  1712.  
  1713.  
  1714.  
  1715.  
  1716.           26
  1717.  
  1718.           Site License
  1719.  
  1720.           HRAM can be licensed on a per location basis which allows a
  1721.           company to use it on a network or use multiple copies of HRAM
  1722.           without purchasing them individually.  Pricing is dependent on
  1723.           the number of copies and is very reasonable.  Please contact
  1724.           Biologic for further information.
  1725.  
  1726.  
  1727.  
  1728.  
  1729.  
  1730.  
  1731.  
  1732.  
  1733.  
  1734.  
  1735.  
  1736.  
  1737.  
  1738.  
  1739.  
  1740.  
  1741.  
  1742.  
  1743.  
  1744.  
  1745.  
  1746.  
  1747.  
  1748.  
  1749.  
  1750.  
  1751.  
  1752.  
  1753.  
  1754.  
  1755.  
  1756.  
  1757.  
  1758.  
  1759.  
  1760.  
  1761.  
  1762.  
  1763.  
  1764.  
  1765.  
  1766.  
  1767.  
  1768.  
  1769.  
  1770.  
  1771.  
  1772.  
  1773.  
  1774.  
  1775.  
  1776.  
  1777.  
  1778.  
  1779.  
  1780.  
  1781.  
  1782.  
  1783.  
  1784.                                                                          27
  1785.  
  1786.           Your Turn
  1787.  
  1788.           We value you opinions.  Please let us know what you like and
  1789.           dislike about the HRAM program and user's guide.  We're dedicated
  1790.           to developing the most innovative and useful software available--
  1791.           and selling it at reasonable prices.  Your support helps make
  1792.           this possible.
  1793.  
  1794.           Please send all comments and suggestions to
  1795.  
  1796.           Biologic 
  1797.           POB 1267
  1798.           Manassas VA  22110
  1799.           USA
  1800.  
  1801.           THANK YOU.
  1802.  
  1803.  
  1804.  
  1805.  
  1806.  
  1807.  
  1808.  
  1809.  
  1810.  
  1811.  
  1812.  
  1813.  
  1814.  
  1815.  
  1816.  
  1817.  
  1818.  
  1819.  
  1820.  
  1821.  
  1822.  
  1823.  
  1824.  
  1825.  
  1826.  
  1827.  
  1828.  
  1829.  
  1830.  
  1831.  
  1832.  
  1833.  
  1834.  
  1835.  
  1836.  
  1837.  
  1838.  
  1839.  
  1840.  
  1841.  
  1842.  
  1843.  
  1844.  
  1845.